home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / PowerBook Pixels™ 1.0.1 / PowerPixels / ShotLoader.c < prev    next >
Encoding:
Text File  |  1992-06-18  |  590 b   |  30 lines  |  [TEXT/KAHL]

  1. //    Loader for shot pixel
  2.  
  3. void
  4. main ( void )
  5. {
  6.     long oldAddr ;
  7.     Handle code ;
  8.     unsigned short * ptr ;
  9.     long keys [ 4 ] ;
  10.  
  11.     code = GetResource ( 'XXXX' , 128 ) ;
  12.     GetKeys ( keys ) ;
  13.     if ( code && ! ( keys [ 1 ] & 0x4 ) ) {
  14.  
  15.         DetachResource ( code ) ;
  16.         HLock ( code ) ;
  17.         oldAddr = NGetTrapAddress ( 0x53 , ToolTrap ) ;
  18.         NSetTrapAddress ( ( long ) StripAddress ( * code ) , 0x53 , ToolTrap ) ;
  19.         ptr = ( unsigned short * ) * code ;
  20.         while ( * ptr != 0xeeee ) ptr ++ ;
  21.         * ( long * ) ptr = oldAddr ;
  22.         FlushDataCache ( ) ;
  23.         FlushInstructionCache ( ) ;
  24.  
  25.     } else {
  26.  
  27.         SysBeep ( 20 ) ;
  28.     }
  29. }
  30.